
@font-face {
  font-family: "PT Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/ptsans-400.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "PT Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/ptsans-700.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "PT Sans";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/ptsans-700.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "PT Sans";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/ptsans-700.woff2") format("woff2");
  font-display: swap;
}

body {
  font-family: "PT Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
  color: #000000;
  background-color: #f2f2f2;
  margin: 0;
}

.container {
  width: 1200px;
  margin: auto;
  background-color: #ffffff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.page-header {
  color: #000000;
  display: flex;
  list-style: none;
  height: 66px;
  margin: 0 70px;
}

.navigation {
  display: flex;
  width: 1200px;
  margin: 0 auto;
  align-items: center;
}

.navigation-logo-img {
  display: block;
}

.navigation-logo {
  width: 139px;
  margin-right: 30px;
  align-self: flex-start;
}

.navigation-list {
  display: flex;
  flex-wrap: wrap;
  width: 430px;
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.navigation-user {
  max-width: 270px;
  margin-left: auto;
  list-style: none;
  justify-content: flex-end;
}

.navigation-link {
  position: relative;
  display: block;
  padding: 20px 17px;
  font-family: "PT Sans", sans-serif;
  line-height: 26px;
  font-weight: 700;
  font-size: 20px;
  text-align: center;
  color: #000000;
  background-color: #ffffff;
  text-decoration: none;
  text-transform: capitalize;
  list-style: none;
}

.navigation-link-icon {
  padding: 20px 20px;
}

.navigation-link-search {
  background-image: url("../images/search.svg");
  background-repeat: no-repeat;
  background-position: center 11px;
}

.navigation-link-favorite {
  margin-right: 20px;
  background-image: url("../images/favorite.svg");
  background-repeat: no-repeat;
  background-position: center 11px;
}

.navigation-link-current::before {
  position: absolute;
  right: 17px;
  bottom: 0;
  left: 17px;
  height: 2px;
  background-color: #756257;
  content: "";
}

.like {
  position: absolute;
  top: 2px;
  width: 22px;
  height: 20px;
  left: 22px;
  font-size: 10px;
  vertical-align: middle;
  line-height: 20px;
  color: #f2f2f2;
  font-weight: 400;
  background-color: #7db54f;
  border-radius: 10px;
  letter-spacing: -0.1em;
}

.navigation-link-want-here {
  padding: 0;
  margin-left: auto;
}

.want-here {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #756157;
  color: #ffffff;
  font-weight: 700px;
  font-size: 16px;
  line-height: 20px;
  border-radius: 4px;
  min-width: 160px;
  min-height: 39px;
  text-transform: uppercase;
}

.button:hover {
  background-color: #615048;
}

.button:focus {
  background-color: #615048;
}

.button:active {
  background-color: #756157;
  color: rgba(255, 255, 255, 0.3);
}

.main-index {
  list-style: none;
  color: #000000;
}

.cover {
  background-image: url("../images/divider.svg"), url("../images/logo.jpg");
  background-size: 100%;
  background-repeat: no-repeat;
  text-align: center;
  height: 485px;
  width: 1200px;
  background-position: bottom;
  background-color: rgba(131, 179, 211, 0.2);
}

.main-index-sity {
  margin-top: 51px;
}

.caption {
  font-family: "PT Sans", sans-serif;
  line-height: 36px;
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  background-repeat: no-repeat;
  text-transform: uppercase;
}

.caption-headline {
  font-family: "PT Sans", sans-serif;
  text-transform: uppercase;
  margin-bottom: 31px;
  margin-top: 63px;
  line-height: 36px;
  font-size: 30px;
  font-weight: 700;
}

.caption-subtitle {
  font-family: "PT Sans", sans-serif;
  line-height: 26px;
  font-weight: 400;
  font-size: 22px;
  text-transform: none;
  margin-bottom: 90px;
}

.advantages-list {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
  background-color: #ffffff;
  list-style: none;
}

.advantages-caption-wide {
  padding-top: 92px;
}

.advantages-caption {
  flex-grow: 1;
  padding-top: 91px;
  padding-bottom: 61px;
}

.advantages-title-attraction {
  font-size: 24px;
  line-height: 28px;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 31px;
  margin-top: 0;
}

.advantages-title {
  font-size: 24px;
  line-height: 28px;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0;
  margin-bottom: 31px;
}

.advantages-description-num {
  margin-bottom: 30px;
}

.advantages-description {
  font-size: 18px;
  line-height: 21px;
}

.advantages-description-white {
  color: #ffffff;
  margin-top: 30px;
  margin-bottom: 0;
}

.advantages-item {
  width: 400px;
  min-height: 281px;
  background-color: rgba(131, 179, 211, 0.12);
  padding-top: 105px;
}

.advantages-item-dark {
  background-color: rgba(131, 179, 211, 0.2);
}

.advantages-item-wide {
  display: flex;
  flex-wrap: wrap;
  background-color: #82b3d3;
  width: 100%;
  padding-top: 0;
}

.advantages-item-odd {
  flex-direction: row-reverse;
}

.item-home,
.item-food,
.item-souvenir {
  background-repeat: no-repeat;
  background-position: center 75px;
  padding-top: 182px;
  min-height: 200px;
}

.item-home {
  background-image: url("../images/home.svg");
}

.item-food {
  background-image: url("../images/burger.svg");
  background-color: #ffffff;
}

.item-souvenir {
  background-image: url("../images/gift.svg");
}

.services-title {
  font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  color: #000000;
  margin-top: 90px;
  margin-bottom: 29px;
}

.services-title-text {
  font-size: 22px;
  line-height: 26px;
  font-weight: 400;
  text-align: center;
  color: #333333;
  font-style: normal;
  margin-bottom: 56px;
  margin-top: 29px;
}

.button-search {
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  display: flex;
  align-items: center;
  text-align: center;
  text-transform: uppercase;
  background: #756157;
  color: #ffffff;
  font-weight: 700px;
  font-size: 20px;
  line-height: 36px;
  width: 545px;
  min-height: 33px;
  border-radius: 4px;
  margin: 0 auto;
  justify-content: center;
  border: none;
  margin-bottom: 92px;
  padding: 12px 15px;
  margin-top: 50px;
  text-decoration: none;
}

.button-search:hover {
  background-color: #615048;
}

.button-search:focus {
  background-color: #615048;
}

.button-search:active {
  background-color: #756157;
  color: rgba(255, 255, 255, 0.3);
}

.newsletter {
  background-color: #68a2ca;
  background-image: url("../images/background.jpg");
  font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  width: 1200px;
  height: 411px;
  justify-content: center;
  background-repeat: no-repeat;
}

.newsletter-interest {
  height: 411px;
}

.newsletter-title {
  display: flex;
  font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  color: #ffffff;
  justify-content: center;
  margin-bottom: 29px;
  padding-top: 95px;
  margin-top: 0;
}

.newsletter-subtitle {
  font-size: 22px;
  line-height: 26px;
  font-weight: 400;
  text-align: center;
  color: #ffffff;
  font-style: normal;
  justify-content: center;
  margin-bottom: 46px;
  margin-top: 29px;
}

.newsletter-field {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 45px auto 94px;
  margin-left: 200px;
}

.email {
  min-width: 600px;
  min-height: 60px;
  margin: 0;
  padding: 20px 0 18px 22px;
  border-radius: 10px 0 0 10px;
  box-sizing: border-box;
  border: 0;
  font-size: 18px;
  line-height: 21px;
  background-color: #ffffff;
  font-family: inherit;
}

.email-catalog {
  background: #f2f2f2;
}

.newsletter-button {
  font-family: "PT Sans", sans-serif;
  font-size: 20px;
  line-height: 36px;
  text-align: center;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  justify-content: center;
  background: #82b3d3;
  width: 200px;
  min-height: 60px;
  color: #ffffff;
  border-radius: 0 10px 10px 0;
  border: none;
  padding: 6px 20px;
  overflow-wrap: anywhere;
}

.newsletter-button:hover {
  background-color: #68a2ca;
}

.newsletter-button:focus {
  background-color: #68a2ca;
}

.newsletter-button:active {
  background-color: rgba(104, 162, 202, 0.3);
}

.footer-social {
  display: flex;
  align-items: center;
  padding: 27px 0;
}

.footer-social-list {
  display: flex;
  width: 160px;
  margin-right: 62px;
  text-align: center;
  align-items: center;
  height: 76px;
  padding: 0;
  gap: 26px;
  color: #000000;
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  margin-left: 80px;
}

.button-social {
  display: flex;
  flex-wrap: wrap;
  background-repeat: no-repeat;
  min-width: 22px;
  min-height: 16px;
  fill: #83b3d3;
}

.footer-phone {
  display: flex;
  justify-content: center;
  font-family: "PT Sans", sans-serif;
  font-size: 40px;
  line-height: 40px;
  min-height: 52px;
  min-width: 705px;
  text-decoration: none;
  margin-right: 18px;
  font-style: normal;
  padding-top: 16px;
}

.footer-icon {
  fill: #83b3d3;
  display: block;
}

.button-social:hover > .footer-icon {
  fill: #68a2ca;
}

.button-social:focus > .footer-icon {
  fill: #68a2ca;
}

.button-social:active > .footer-icon {
  fill: rgba(104, 162, 202, 0.3);
}

.phone {
  color: #000000;
  text-decoration: none;
}

.phone:hover {
  color: #756157;
}

.phone:focus {
  color: #756157;
}

.phone:active {
  color: rgba(117, 97, 87, 0.3);
}

.footer-item {
  display: flex;
  width: 127px;
  margin-left: 32px;
  margin-right: 77px;
}

.logo-html {
  background-repeat: no-repeat;
  fill: #000000;
  width: 115px;
  align-self: center;
}

.footer-logo {
  margin-top: 11px;
}

.footer-logo:hover > .logo-html {
  fill: #756157;
}

.footer-logo:focus > .logo-html {
  fill: #756157;
}

.footer-logo:active > .logo-html {
  fill: rgba(117, 97, 87, 0.3);
}

.modal-container {
  position: fixed;
  display: flex;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(242, 242, 242, 0.8);
}

.modal-container-close {
  display: none;
}

.modal {
  position: relative;
  margin: auto;
  padding: 64px;
  background-color: #ffffff;
  border-radius: 30px;
  box-shadow: 0 25px 50px 0 rgba(0, 0, 0, 0.15);
}

.modal-auth {
  width: 715px;
  min-height: 561px;
  box-sizing: border-box;
}

.modal-close-button {
  position: absolute;
  padding: 0;
  top: 55px;
  right: 69px;
  width: 54px;
  height: 53px;
  background-color: #f2f2f2;
  border-radius: 50%;
  border: none;
  background-image: url("../images/close.svg");
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  justify-content: center;
}

.modal-close-button:hover,
.modal-close-button:focus {
  background-color: #e6e6e6;
}

.modal-close-button:focus {
  outline: 3px solid #83b3d3;
}

.modal-close-button:active {
  background-color: #b8b8b8;
  outline: none;
  opacity: 0.3;
}

.modal-title {
  margin: 0;
  margin-bottom: 63px;
  font-family: "PT Sans", sans-serif;
  font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  color: #000000;
  text-transform: uppercase;
  margin-left: 3px;
}

.auth-form .field-group {
  margin: 0;
  margin-bottom: 43px;
}

.field-group {
  font-size: 20px;
  line-height: 26px;
  font-weight: 700;
}

.auth-date {
  display: flex;
  justify-content: center;
  align-items: center;
}

.auth-form-field {
  width: 384px;
  padding: 13px 17px;
  border-radius: 4px;
  border: none;
  background: url("../images/calendar.svg") no-repeat right 20px center #f2f2f2;
  font-size: 18px;
  line-height: 21px;
  font-family: "PT Sans", sans-serif;
  color: #000000;
  cursor: pointer;
}

.auth-form-field:hover,
.auth-form-field:focus {
  background-color: #e6e6e6;
}

.auth-form-field:focus {
  outline: 3px solid #83b3d3;
}

.auth-form-field:not(:placeholder-shown) {
  background-color: #ffffff;
  box-shadow: 0 0 1px 2px #000000;
  outline: none;
}

.long {
  align-self: center;
  padding-right: 42px;
}

.position {
  position: relative;
}

.text-form {
  font-weight: 400;
  font-size: 16px;
  line-height: 21px;
  position: absolute;
  bottom: -30px;
  left: 26%;
  color: #333333;
  margin-left: 8px;
}

.text-form-red {
  font-weight: 400;
  font-size: 16px;
  line-height: 21px;
  position: absolute;
  margin-top: -34px;
  color: #ff5757;
  margin-left: 161px;
}

.group-choice {
  display: flex;
  margin-bottom: 39px;
  justify-content: center;
}

.tooltip-toggle {
  border: none;
  padding: 0;
  margin: 0;
  display: block;
  background-color: #83b3d3;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  cursor: pointer;
  position: absolute;
  left: 110px;
  bottom: 15px;
}

.tooltip-icon {
  padding: 0 10px;
  color: #ffffff;
  display: block;
  width: 3px;
  height: 10px;
}

.tooltip-toggle:hover {
  background-color: #68a2ca;
}

.tooltip {
  position: absolute;
  top: 52px;
  left: -2px;
}

.tooltip-text {
  background-color: #333333;
  box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.3);
  color: #ffffff;
  font-size: 16px;
  line-height: 21px;
  font-weight: 400;
  text-transform: none;
  padding: 17px 18px 22px 22px;
  border-radius: 10px;
  width: 216px;
  left: -5px;
  position: absolute;
  display: none;
}

.tooltip-text::after {
  background-image: url("../images/corner.svg");
  width: 19px;
  height: 9px;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

.tooltip-toggle:hover + .tooltip-text,
.tooltip-toggle:focus + .tooltip-text {
  display: block;
}

.form-field {
  width: 18px;
  padding: 14px 60px;
  font-size: 18px;
  line-height: 21px;
  color: #000000;
  border-radius: 4px;
  border: none;
  background-color: #f2f2f2;
  cursor: pointer;
  text-align: center;
}

.form-field[type='number'] {
  -moz-appearance: textfield;
}

.form-field::-webkit-outer-spin-button,
.form-field::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.form-field::before {
  position: absolute;
  color: #ffffff;
  top: 15px;
  right: 20px;
  font-size: 18px;
  line-height: 21px;
  opacity: 30%;
}

.form-field::after {
  position: absolute;
  color: #ffffff;
  top: 15px;
  left: 100px;
  font-size: 18px;
  line-height: 21px;
  opacity: 30%;
}

.adults {
  position: relative;
}

.adults::before,
.adults::after {
  position: absolute;
  width: 13px;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 2;
  top: 50%;
  right: 6%;
}

.adults:hover::before,
.adults:hover::after {
  background-color: #000000;
}

.adults:focus::before,
.adults:focus::after {
  background-color: #000000;
}

.field-adults::after {
  position: absolute;
  width: 29px;
  height: -5px;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 5;
  top: 50%;
  right: 35%;
}

.field-adults:hover::after {
  background-color: #000000;
}

.field-adults:focus::after {
  background-color: #000000;
}

.information {
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  font-weight: 700;
  color: #000000;
}

.child {
  position: relative;
}

.child::before,
.child::after {
  position: absolute;
  width: 13px;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 2;
  top: 50%;
  right: 6%;
}

.child::before {
  transform: rotate(90deg);
}

.child:hover::before,
.child:hover::after {
  background-color: #000000;
}

.child:focus::before,
.child:focus::after {
  background-color: #000000;
}

.field-child::after {
  position: absolute;
  width: 13px;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 5;
  top: 50%;
  right: 34%;
}

.field-child:hover::after {
  background-color: #000000;
}

.field-child:focus::after {
  background-color: #000000;
}

.field-adults {
  padding-right: 56px;
}

.field-child {
  padding-right: 20px;
  padding-left: 27px;
}

.fastener.button-plus {
  background-image: url("../images/plus.svg");
  background-repeat: no-repeat;
  position: absolute;
  z-index: 1;
  transform: translate(-34px, 15px);
  background-color: transparent;
  border: none;
  padding: 8px;
}

.fastener.button-minus {
  background-image: url("../images/minus.svg");
  background-repeat: no-repeat;
  position: absolute;
  z-index: 1;
  transform: translate(28px, 15px);
  background-color: transparent;
  border: none;
  padding: 8px;
  background-position: center;
}

.fastener.button-plus:hover,
.fastener.button-minus:hover {
  background-color: transparent;
}

.fastener.button-plus:focus,
.fastener.button-minus:focus {
  border: 3px solid #83b3d3;
  background-color: transparent;
  outline: none;
}

.fastener.modal-submit {
  width: 575px;
  margin-left: 6px;
  padding: 12px 74px;
  font-size: 20px;
  line-height: 36px;
  border-radius: 10px;
  background-color: #83b3d3;
  border: none;
  text-transform: uppercase;
  color: #ffffff;
}

.fastener.modal-submit:hover,
.fastener.modal-submit:active {
  background-color: #68a2ca;
}

.fastener.modal-submit:focus {
  outline: 3px solid #756257;
  background-color: #68a2ca;
}

.main-inner {
  list-style: none;
}

.inner-header-title {
  line-height: 78px;
  font-size: 60px;
  color: #ffffff;
  text-transform: none;
  list-style: none;
  margin: 0;
}

.breadcrumbs {
  display: flex;
  justify-content: flex-start;
  flex-direction: row;
  width: 110px;
  height: 31px;
  gap: 10px;
  color: #ffffff;
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.breadcrumbs-item {
  width: 12px;
  background-repeat: no-repeat;
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 21px;
  margin-top: 10px;
}

.breadcrumbs-icon {
  fill: #ffffff;
}

.breadcrumbs-icon:hover {
  fill: rgba(255, 255, 255, 0.6);
}

.breadcrumbs-icon:focus {
  fill: #f2f2f2;
}

.breadcrumbs-icon:active {
  fill: rgba(255, 255, 255, 0.6);
}

.breadcrumbs-link {
  width: 73px;
  height: 21px;
  color: #ffffff;
  text-decoration: none;
  position: relative;
}

.breadcrumbs-link:hover {
  color: rgba(255, 255, 255, 0.6);
}

.breadcrumbs-link:focus {
  color: #f2f2f2;
}

.breadcrumbs-link:active {
  color: rgba(255, 255, 255, 0.6);
}

.breadcrumbs-link-icon {
  background-image: url("../images/vectorright.svg");
  background-repeat: no-repeat;
  padding-left: 17px;
  background-position: 2px 5px;
}

.breadcrumbs-link:hover > .breadcrumbs-icon {
  fill: rgba(255, 255, 255, 0.6);
}

.breadcrumbs-link:focus > .breadcrumbs-icon {
  fill: #f2f2f2;
}

.breadcrumbs-link:active > .breadcrumbs-icon {
  fill: rgba(255, 255, 255, 0.6);
}

.catalog-products {
  background-image: url("../images/catalog-background.jpg");
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 21px;
  margin: 0;
  min-width: 1060px;
  min-height: 288px;
  background-repeat: no-repeat;
  padding: 35px 70px 15px;
  background-color: #756157;
  background-size: cover;
}

.catalog-filter {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  min-width: 1059px;
  gap: 40px;
  flex-grow: 0;
  margin: 0;
  padding: 0;
}

.catalog-filter-group {
  display: flex;
  font-size: 18px;
  line-height: 21px;
  margin: 0;
  padding: 0;
  border: none;
  align-self: flex-end;
  padding-right: 70px;
  color: #ffffff;
}

.catalog-filter-type {
  border: none;
  font-weight: 400;
  font-size: 18px;
  line-height: 21px;
  color: #ffffff;
  margin: 0;
  padding: 0;
}

.catalog-filter-title {
  font-size: 20px;
  line-height: 26px;
  font-weight: 700;
  text-align: left;
  margin-bottom: 33px;
  padding: 0;
}

.catalog-filter-view {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: -6px;
  min-width: 145px;
  min-height: 149px;
}

.filter-group-list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style-type: none;
  margin-top: 40px;
  gap: 1px;
  min-width: 365px;
  min-height: 149px;
}

.catalog-filter-item {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 21px;
  color: #ffffff;
  margin-bottom: 15px;
}

.control {
  position: relative;
  display: block;
  padding-left: 40px;
  cursor: pointer;
}

.caption-mark {
  position: absolute;
  top: 4px;
  left: 0;
  width: 20px;
  height: 20px;
  background-color: #ffffff;
  border: none;
  border-radius: 4px;
}

.area {
  border-radius: 50%;
}

.control-infrastructure:hover .caption-mark {
  background-color: rgba(255, 255, 255, 0.6);
}

.control-input:focus + .caption-mark {
  background-color: rgba(255, 255, 255, 0.6);
  outline: 3px solid #83b3d3;
}

.control-infrastructure:active .caption-mark {
  background-color: rgba(255, 255, 255, 0.3);
}

.control-input[type="checkbox"]:checked + .caption-mark::after {
  position: absolute;
  content: "a";
  color: transparent;
  top: 5px;
  left: 2px;
  padding-left: 10px;
  background: url("../images/check.svg");
  background-repeat: no-repeat;
  background-size: 15px;
  -webkit-appearance: none;
          appearance: none;
}

.control-input[type="radio"] + .caption-mark {
  border-radius: 50%;
}

.control-input[type="radio"]:checked + .caption-mark::before {
  position: absolute;
  top: 5px;
  left: 5px;
  width: 10px;
  height: 10px;
  background-color: #3f5e72;
  border-radius: 50%;
  content: "";
}

.housing-input:focus + .caption-mark {
  background-color: #ffffff;
  outline: 3px solid #83b3d3;
}

.caption-type {
  font-size: 18px;
  line-height: 21px;
  font-weight: 400;
  text-align: left;
}

.catalog-filter-list {
  list-style: none;
  padding: 0;
  margin: 0;
  list-style-type: none;
  margin-top: -6px;
  min-width: 145px;
  min-height: 149px;
}

.wrapper {
  display: flex;
  margin-left: auto;
}

.catalog-filter-price {
  border: none;
  color: #ffffff;
  flex: none;
  order: 0;
  flex-grow: 0;
  margin: 0;
  padding: 0;
  margin-top: 38px;
  margin-left: 138px;
  align-self: flex-end;
}

.range {
  position: relative;
}

.range-wrapper {
  display: flex;
  flex-wrap: wrap;
  border-radius: 4px;
  position: relative;
}

.range-wrapper::before {
  content: "до";
  position: absolute;
  color: #ffffff;
  top: 11px;
  right: 18px;
  font-size: 18px;
  line-height: 21px;
  opacity: 30%;
}

.range-wrapper::after {
  content: "от";
  position: absolute;
  color: #ffffff;
  top: 13px;
  left: 112px;
  font-size: 18px;
  line-height: 21px;
  opacity: 30%;
}

.range-input::-webkit-outer-spin-button,
.range-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
          appearance: none;
  margin: 0;
}

.form-label {
  box-sizing: border-box;
}

.range-input {
  width: 143px;
  padding: 11px 13px;
  font-size: 18px;
  line-height: 21px;
  border: 2px solid #ffffff;
  border-right: none;
  background-color: transparent;
  color: #ffffff;
  -webkit-appearance: textfield;
          appearance: textfield;
}

.range-wrapper:hover,
.range-input:hover {
  border-color: rgba(255, 255, 255, 0.6);
}

.range-input:focus {
  box-shadow: 0 0 0 3px #81b3d2, inset 0 0 0 3px #81b3d2;
  border-radius: 4px 0 0 4px;
  outline: none;
}

.input-min {
  border-radius: 4px 0 0 4px;
  box-sizing: border-box;
}

.input-max {
  border: 2px solid #ffffff;
  border-radius: 0 4px 4px 0;
  box-sizing: border-box;
}

.range-scale {
  position: relative;
  height: 4px;
  background-color: rgba(255, 255, 255, 0.3);
  border: none;
  margin-top: 28px;
  margin-bottom: 10px;
  width: 287px;
}

.range-bar {
  width: 226px;
  position: absolute;
  height: 4px;
  background-color: #ffffff;
  opacity: 1;
  border: none;
}

.range-toggle {
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #ffffff;
  border-radius: 5px;
  cursor: pointer;
  border: none;
}

.range-toggle:focus {
  outline: 3px solid #83b3d3;
}

.range-toggle:active {
  outline: 2px solid #83b3d3;
}

.toggle-min {
  top: -7px;
  left: 1px;
}

.toggle-max {
  top: -8px;
  right: -9px;
}

.button-filter {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 160px;
  padding: 14px 15px;
  border: none;
  margin: 85px 0 -13px 55px;
}

.button-submit {
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  align-items: center;
  text-align: center;
  text-transform: uppercase;
  background: #82b3d3;
  color: #ffffff;
  font-weight: 700px;
  font-size: 16px;
  line-height: 20px;
  width: 157px;
  height: 48px;
  border-radius: 4px;
  justify-content: center;
  border: none;
  margin-bottom: 20px;
}

.button-reset {
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  color: #ffffff;
  background-color: transparent;
  border: none;
  border-radius: 4px;
  width: 66px;
  height: 20px;
  padding: 0;
  margin-right: 118px;
  margin-left: 47px;
}

.button-submit:hover {
  background: #68a2ca;
  border-radius: 4px;
}

.button-submit:focus {
  background: #68a2ca;
  border: 3px solid #ffffff;
  border-radius: 4px;
}

.button-submit:active {
  background: #68a2ca;
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.6);
}

.button-reset:hover {
  color: rgba(255, 255, 255, 0.6);
}

.button-reset:focus {
  border: 3px solid #83b3d3;
  border-radius: 4px;
}

.button-reset:active {
  color: rgba(255, 255, 255, 0.6);
}

.sorting-container {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 21px;
  display: flex;
  align-items: center;
  color: #333333;
  margin-top: 54px;
  margin-bottom: 58px;
  margin-left: 73px;
  margin-right: 71px;
  width: 1057px;
  height: 49px;
}

.inner-header-catalog {
  font-family: "PT Sans", sans-serif;
  border: none;
  font-weight: 700;
  font-size: 30px;
  line-height: 36px;
  color: #000000;
  text-transform: uppercase;
  width: 339px;
  margin-top: 30px;
}

.select-control {
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 21px;
  background-image: url("../images/vectortop.svg");
  background-repeat: no-repeat;
  background-position: 254px 20px;
  width: 287px;
  height: 48px;
  -webkit-appearance: none;
          appearance: none;
  margin-right: 81px;
  margin-left: 191px;
  border-radius: 4px;
  padding: 13px;
  padding-left: 20px;
  padding-right: 110px;
  cursor: pointer;
  border: 2px solid #e6e6e6;
}

.select-control:hover,
.select-control:focus {
  border: 2px solid #83b3d3;
  border-radius: 4px;
}

.select-control:active {
  border: 2px solid #e6e6e6;
  border-radius: 4px;
}

.breadcrumb-view {
  padding: 0;
}

.card-grid-toggle {
  display: block;
  flex-direction: row;
  align-items: flex-start;
  padding: 0;
  margin: 0;
  gap: 8px;
  width: 44px;
  height: 44px;
  list-style: none;
  border-radius: 4px;
  background-repeat: no-repeat;
  outline: none;
  border: 2px solid #e5e5e5;
  background-position: center;
}

.card-grid-toggle-current {
  border: 2px solid #000000;
}

.toggle-cards {
  background-image: url("../images/cards.svg");
}

.toggle-list {
  background-image: url("../images/list.svg");
}

.toggle-alone {
  background-image: url("../images/alone.svg");
}

.card-grid-toggle:hover {
  border: 2px solid #000000;
}

.card-grid-toggle:focus {
  border: 2px solid #68a2ca;
}

.card-grid-toggle:active {
  border: 2px solid #000000;
}

.select-sorting {
  width: 1200px;
}

.breadcrumb-switcer {
  width: 160px;
  height: 48px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0;
  gap: 8px;
}

.hotel {
  display: grid;
  width: 1056px;
  grid-template-columns: 340px 340px 340px;
  margin: 0;
  margin-bottom: 66px;
  gap: 0 20px;
  margin-left: 70px;
  padding: 0;
  list-style-type: none;
}

.product-class {
  display: grid;
  width: 340px;
  gap: 18px;
}

.product-card {
  padding: 20px;
}

.product-card-link {
  font-size: 24px;
  line-height: 28px;
  font-weight: 700;
  text-align: left;
  text-decoration: none;
  color: #000000;
}

.product-card-image {
  display: grid;
  grid-column: 2/3;
  grid-row: 2/3;
  width: 302px;
  height: 211px;
}

.product-card-title {
  display: grid;
  font-weight: 700;
  font-size: 24px;
  line-height: 28px;
  color: #000000;
  margin: 0;
  padding: 0;
  margin-top: 16px;
  margin-bottom: 11px;
  list-style: none;
  list-style-type: none;
}

.hotel-info {
  display: grid;
  grid-template-columns: 133px 143px;
  gap: 16px;
  margin-top: 15px;
}

.hotel-favorites {
  display: grid;
  grid-template-columns: 140px 140px;
  gap: 20px;
  margin-top: 16px;
  margin-bottom: 16px;
}

.navigation-link-more {
  text-transform: uppercase;
  text-align: center;
  background: #756157;
  color: #ffffff;
  font-size: 16px;
  line-height: 20px;
  min-height: 37px;
  min-width: 141px;
  text-decoration: none;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-card-hotel {
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 21px;
  margin: 0;
}

.product-card-price {
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 21px;
  margin: 0;
  margin-left: 12px;
}

.button-favorites:hover {
  background-color: #68a2ca;
}

.button-favorites:focus {
  background-color: #68a2ca;
}

.button-favorites:active {
  background-color: #82b3d3;
  color: rgba(255, 255, 255, 0.3);
}

.button-favorites-like:hover {
  background-color: #6c9e42;
}

.button-favorites-like:focus {
  background-color: #6c9e42;
}

.button-favorites-like:active {
  background-color: #7db54f;
  color: rgba(255, 255, 255, 0.3);
}

.button-favorites {
  text-transform: uppercase;
  font-family: "PT Sans", sans-serif;
  background: #82b3d3;
  color: #ffffff;
  font-size: 16px;
  line-height: 20px;
  justify-content: center;
  border: none;
  margin: 0;
  padding: 0;
  border-radius: 4px;
  margin-left: 13px;
  min-width: 140px;
  margin-top: 1px;
}

.button-favorites-like {
  text-transform: uppercase;
  font-family: "PT Sans", sans-serif;
  align-items: center;
  text-align: center;
  background: #7db54f;
  color: #ffffff;
  font-size: 16px;
  line-height: 20px;
  justify-content: center;
  border: none;
  border-radius: 4px;
  margin-left: 12px;
  min-width: 140px;
  min-height: 37px;
  margin-top: 1px;
}

.stars {
  background-image: url("../images/star.svg");
  align-self: center;
  width: 89px;
  height: 17px;
  background-repeat: space;
}

.stars-three {
  width: 66px;
}

.stars-two {
  width: 46px;
}

.rating {
  display: flex;
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  align-items: center;
  text-align: center;
  text-transform: uppercase;
  background: #f2f2f2;
  color: #333333;
  font-weight: 400px;
  font-size: 16px;
  line-height: 20px;
  min-width: 140px;
  min-height: 37px;
  border-radius: 4px;
  justify-content: center;
  border: none;
  margin-left: 13px;
}

.pagination-container {
  display: flex;
  align-items: center;
  padding-top: 12px;
}

.pagination-active {
  width: 60px;
  height: 60px;
  display: flex;
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  align-items: center;
  text-align: center;
  text-transform: uppercase;
  background-color: #f2f2f2;
  color: #000000;
  font-weight: 700px;
  font-size: 20px;
  line-height: 36px;
  border-radius: 4px;
  margin: 0 auto;
  justify-content: center;
  border: none;
  text-decoration: none;
}

.pagination-active:hover {
  background-color: #f2f2f2;
}

.pagination-active:focus {
  background-color: #f2f2f2;
}

.pagination-active:active {
  background-color: #f2f2f2;
  color: #000000;
}

.pagination-link:hover {
  background-color: #68a2ca;
}

.pagination-link:focus {
  background-color: #68a2ca;
}

.pagination-link:active {
  background-color: #82b3d3;
  color: rgba(255, 255, 255, 0.3);
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: flex-start;
  padding: 0;
  gap: 8px;
  list-style: none;
  margin-left: 73px;
  margin-right: 271px;
  margin-bottom: 5px;
}

.pagination-link {
  display: flex;
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  align-items: center;
  background: #82b3d3;
  color: #ffffff;
  font-weight: 700px;
  font-size: 20px;
  line-height: 36px;
  min-width: 60px;
  min-height: 60px;
  border-radius: 4px;
  margin: 0 auto;
  justify-content: center;
  border: none;
  text-decoration: none;
}

.sorting-quantity {
  display: flex;
  align-items: center;
  font-family: "PT Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 21px;
  color: #000000;
  text-decoration: none;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-right: 51px;
  padding-top: 13px;
}

.sorting-select {
  font-family: "PT Sans", sans-serif;
  font-size: 18px;
  line-height: 21px;
  background-image: url("../images/vectortop.svg");
  background-repeat: no-repeat;
  background-position: 126px 20px;
  -webkit-appearance: none;
          appearance: none;
  width: 160px;
  height: 48px;
  border-radius: 4px;
  border: 2px solid #e5e5e5;
  padding: 14px;
  padding-left: 19px;
  cursor: pointer;
  margin-top: 10px;
}

.sorting-select:hover,
.sorting-select:focus {
  border: 2px solid #83b3d3;
  border-radius: 4px;
}

.sorting-select:active {
  border: 2px solid #e6e6e6;
  border-radius: 4px;
}

.newsletter-light {
  background: none;
  margin-top: 16px;
}

.newsletter-title-dark,
.newsletter-catalog-dark {
  color: #000000;
}


.newsletter-catalog-subtitle {
  font-size: 22px;
  line-height: 26px;
  font-weight: 400;
  text-align: center;
  color: #000000;
  font-style: normal;
  justify-content: center;
  margin-bottom: 47px;
  margin-top: 29px;
}
